home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 031-040 / amok38 / hotprog / hotprogz.zoo / HotProg / HotProg1.0.DOK < prev    next >
Text File  |  1990-03-14  |  13KB  |  332 lines

  1. HotProg1.0 .dok
  2.  
  3. HotProg ist ein PopUpMenu, das Sie mit einem von ihnen zu definierenden
  4. Hotkey jederzeit auf einem x-beliebigen Screen aufrufen können.
  5.  
  6. WICHTIG !!!!!
  7. Bevor Sie diese Programm starten müßen Sie sich zuerst eine HotProg.config
  8. Datei erstellen und entweder in das Direktory in dem HotProg selber liegt
  9. oder in das Direktory SYS:s (SYS: damit ist ihre BootDisk o.-Partition 
  10. gemeint) kopieren (Wenn Sie HotProg vom CLI starten können Sie die .config
  11. auch sonstwohin legen, müßen dann aber den Pfad als Parameter übergeben !.
  12. z.B: "run df0:hotprog/hotprog df9:xyz/hotprog.config" ).
  13.  
  14. Siehe auch die Beispiel .configs in diesem Direktory und in diesem .dok.
  15.  
  16.                     HotProg.config Syntax
  17.  
  18. @Groß- und Kleinschreibung sollte man zwar beherrschen, sind aber in der
  19. @hotprog.config egal
  20.  
  21. @Sie können beliebige Kommentare in ihre .config einfügen
  22. @Eine KommentarZeile beginnt immer mit einem Klammeraffen
  23.  
  24. %mit einem ProzentZeichen deklarieren Sie eine Zeile, die in der
  25. %StartUpMessage ausgeben wird
  26. %wenn Sie keine StartUpMessage definiert haben erscheint die Meldung
  27. %HotProg gestartet
  28.  
  29. DEFINITIONEN
  30.  
  31. a)TRENNZEICHEN:
  32.  
  33. §der Paragraf leitet eine Definition ein.
  34. zur Zeit werden folgende Definitionen unterstützt :
  35.  
  36. Trennung=x-beliebiges Zeichen 
  37.  
  38. Dieses Zeichen darf aber nicht in einer MenuZeile erscheinen, somit ist es 
  39. möglich auch die skurilsten Pfad- und ProgrammBezeichnungen zu verwenden ohne 
  40. den Parser zu verwirren.
  41. z.B:
  42.  
  43. §TRENNUNG=,
  44.  
  45. oder
  46.  
  47. §treNNung=|
  48.  
  49. Dieses Zeichen wird nun benutzt um in den folgenden MenuDefinitionen die
  50. Einträge voneinander zu trennen
  51.  
  52. WICHTIG !!!
  53. die Trennzeichen Definition muß vor der ersten Menu Definition stehen !
  54.  
  55. b)HOTKEY
  56.  
  57. 1.)Sie können jede Taste als HotKey definieren indem Sie den entsprechenden
  58. dezimalen RawCode der Taste einsetzen, der mit einem Doppelkreuz (#) 
  59. eingeleitet wird.
  60. 2.)Für einige SonderTasten existieren auch BuchstabenKürzel :
  61.     Kürzel  - Taste
  62.     ESC     - Escape
  63.     Control - CTRL
  64.     LALT    - linke AltTaste
  65.     RALT    - rechte AltTaste
  66.     LCom    - linke AMIGATaste
  67.     RCom    - rechte AMIGATaste
  68.     LShift  - linke ShiftTaste
  69.     RShift  - rechte ShiftTaste
  70.     HELP    - HelpTaste
  71.     SPACE   - LeerTaste
  72.     F1 ..F9 - die entsprechenden FunktionsTasten
  73.     F0      - FunktionsTaste F10
  74.  
  75. am Schluß finden Sie außerdem ein Tabelle mit RawCodes, für den Fall, daß
  76. Sie nur die Original Commodernde Literatur besitzen sollten. Nachträglich 
  77. mein herzlichstes Beileid.
  78.  
  79. Beispiele
  80.  
  81. §hotkey=#69         (* ESCAPE *)
  82. §hotKey=ESc         (* dto    *)
  83. §HOTKEY=F4          (* FunktionsTaste *)
  84.  
  85. c)QUALIFIER
  86.  
  87. Diese Definition ist Optional, wird kein Qualifier angeben popt das Menu
  88. beim alleinigen betätigen des HOTKEYS.
  89. Folgende Qualifier werden unterstützt :
  90.  
  91.     CAPS    - Caps-Lock
  92.     Control - CTRL
  93.     LALT    - linke AltTaste
  94.     RALT    - rechte AltTaste
  95.     LCom    - linke AMIGATaste
  96.     RCom    - rechte AMIGATaste
  97.     LShift  - linke ShiftTaste
  98.     RShift  - rechte ShiftTaste
  99.     Left    - linker MausButton
  100.     Right   - rechter MausButton
  101.     Rel     - relative MausBewegung
  102.  
  103. Beispiele :
  104.  
  105. §QuaLiFieR=Left         
  106. §qualifier=con
  107. §QUALIFIER=ra
  108.  
  109. Es genügt die ersten zwei Buchstaben einzugeben, da der Rest nicht relevant ist
  110. und ignoriert wird.
  111.  
  112. Jetzt sollten die Definitionen für ihr Menü folgen.
  113. Da bis jetzt noch keine UnterMenüs unterstützt werden hängt die Anzahl der
  114. MenüEinträge von ihrer eingestellten ScreenHöhe ab. z.B:
  115.     normaler WBenchScreen 256 Zeilen ermöglicht (256-14)/9 = 26 Einträge
  116.     OverScan Screen       284 Zeilen ermöglicht (284-14)/9 = 30 Einträge
  117.     InterLace             512 Zeilen ermöglicht (512-14)/9 = 55 Einträge
  118.     InterLace OverScan    568 Zeilen ermöglicht (512-14)/9 = 63 Einträge
  119. Werden zuviele MenüEinträge generiert, so werden diese ignoriert. Es besteht
  120. jedoch die Möglichkeit ,sagen wir mal 45 Einträge zu erstellen, wovon dann
  121. auf dem WBenchScreen 26 Menüs erscheinen aber auf einem anderen Screen, den
  122. Sie im Interlace Modus fahren können Sie alle Menüs benützen.
  123. Im Moment werden alle Modi mit der gleichen FontHöhe bedient. Da ich 
  124. normalerweise im Interlace-Modus nicht arbeite, kann ich es nicht abschätzen,
  125. ob es nicht angebracht wäre hier einen etwas höheren Font zu benützen. Gebt
  126. halt einfach mal Bescheid !
  127.  
  128. MenüDefinition SYNTAX
  129. ***************************************************************************
  130. MenüName[Trennung]Vollständiger ProgrammName inkl. Pfad[Trennung]TRUE|FALSE
  131. ***************************************************************************
  132.  
  133. MenüName und Pfad nicht länger als 80 Zeichen, das müßte eigentlich reichen.
  134.  
  135. TRUE oder False damit können sie bestimmen ob auf den WBenchScreen umgeschaltet
  136. werden soll oder nicht.
  137.  
  138. Beispiele :
  139. (Annahme :als TrennZeichen wurde das Komma definiert)
  140.  
  141. MUCHMORE,sys:c/muchmore,false
  142. MUCHMORE,df1:c/muchmore,true
  143. MUCHMORE,Amok45:c/muchmore,false
  144.  
  145. DIR     ,c:dir >ram:tmp df0:,False
  146. Dir     ,c:dir >CON://200/100/AusgabeFenster,True
  147.   DIR   ,c:dir >PRT:,false
  148.  
  149. Die Ausgabe kann also auch problemlos umgelenkt werden. Haben Sie vor dem
  150. starten von HotProg noch ein CLI oder eine Shell geöffnet ,so erfolgt die
  151. Ausgabe, die ein normaler CLI-Befehl macht automatisch auf dieser Console.
  152.  
  153. Beachten Sie Bitte, daß der Pfadname ihres zu startenden Programmes keine
  154. Spaces enthalten sollte, da es sonst nicht gefunden wird.
  155. NichtExistente Programme werden nicht aufgerufen !!!
  156.  
  157.  
  158. Es folgt nun eine Zusammenfassung einer gültigen hotprog.config
  159. @******************************************************************************
  160. @HOTPROG.CONFIG 
  161. @Kommentare beginnen immer mit einem KlammerAffen !!!
  162. @SYNTAX  MenuTitel,Pfad,WBenchToFront(TRUE|FALSE), z.B.: Text!c:muchmore!FALSE!
  163.  
  164. %HOTKEY    = ESC
  165. %QUALIFIER = Linke ALT
  166.  
  167. §TRENNUNG=,
  168. §HOTKEY=ESC
  169. §QUALIFIER=LALT
  170.  
  171. dirmaster   ,DH0:utilities/dirmaster,FALSE,
  172. Calculator  ,DH0:utilities/Calc3.0,TRUE,
  173. Koordinaten ,DH0:tools/surveyor,FALSE,
  174. XOPER       ,DH0:tools/xoper,TRUE,
  175. AntiFlicker ,DH0:tools/AntiFlicker,TRUE,
  176. AZ          ,DH0:text/AZ,TRUE,
  177. HexEdit     ,DH0:utilities/HexEdit,TRUE,
  178. Kalender    ,DH0:utilities/Kalender,TRUE,
  179. PowerPacker ,DH0:utilities/PowerPacker,TRUE,
  180. INTUITION   ,DH0:utilities/SB,TRUE,
  181. WorkShop    ,DH0:utilities/Workshop,TRUE,
  182. XCopy       ,DH0:tools/Xcopy,TRUE,
  183. Palette     ,DH0:tools/palette,FALSE,
  184. Prefs       ,DH0:system/pprefs,TRUE,
  185. PopInfo     ,DH0:tools/popinfo,TRUE,
  186. KEYBOARD    ,DH0:tools/Keytoy2000,TRUE,
  187. QuarterBack ,DH0:tools/Quarterback,TRUE,
  188. setKEY      ,DH0:tools/setkey,TRUE,
  189. ScreenShift ,DH0:tools/ss,TRUE,
  190. ASCIItabelle,DH0:c/ascTiny,FALSE
  191. directory   ,c:dir >ram:tmp,FALSE
  192. DPAINT      ,DPaint:dpaint/dpaint,FALSE
  193. @******************************************************************************
  194.  
  195.                     START
  196.  
  197. Wenn Sie mir bis hierher gefolgt sind dürfen sie HotProg starten.
  198. DoppelKlick oder Aufruf vom Cli ,beides führt zum Erfolg.
  199.  
  200. Schließen Sie das StartupMsg-Fenster durch Klick auf das ClosingGadget ,das
  201. automatisch unter ihrem Mauszeiger erscheint.
  202.  
  203. Wenn Sie nun den angegebenen Qualifier gedrückt halten und den HotKey 
  204. betätigen erscheint das Menü mittig unter ihrer Maus. Das Augenblicklich
  205. ausgewählte Programm erscheint dann farblich unterlegt. Bewegen Sie den
  206. Mauszeiger ,dann können Sie jedes andere Programm auswählen. Start des
  207. Programmes erfolgt durch MausKlick. Sobald ihr Pointer sich außerhalb des
  208. Menüs befindet oder das Fenster deaktiviert wird verschwindet dasselbe.
  209. Sie können also problemlos mit oder ohne Dmouse arbeiten !!
  210. Die Farbliche Darstellung des Menüs ist abhängig von den Farben des Screens
  211. auf dem es aufgerufen wird. Aber keine Bange es werden automatisch die Farben
  212. mit dem größten Kontrast benützt, ausgenommen ist lediglich die Hintergrund
  213. Farbe 0 des Screens.
  214.  
  215. Wechsel des Menüs
  216.  
  217. Drücken des rechten MausButtons öffnet den ARP-FileRequester.
  218. Wählen sie dann das gewünschte neue Menü !
  219.  
  220. Achtung !!
  221.  
  222. Da einige Programme ,die einen eigenen Screen eröffnen fälschlicherweise 
  223. davon ausgehen das sie durch kein anderes Fenster überlagert werden könnten,
  224. wird der überlagerte Bildinhalt zerstört. Manchmal läßt sich aber ein Refresh
  225. künstlich erzeugen oder umgehen. 
  226.  
  227. DPAINTIII:  gehen Sie mit J auf das evtl. leere 2.Bild dann ist kein Refresh
  228.             nötig oder Sie rufen Bildschirmformat auf und bestätigen mit OK
  229.  
  230. NEWIO:      vermeiden Sie hier den Aufruf des HotProgMenüs, da die Herren
  231.             Programmierer von Multitasking {"Multitas-peasant" not King} eh
  232.             keine Ahnung hatten (beachten sie hier auch die MenuProgrammierung
  233.             die Sie zum Spastiker werden läßt).
  234.  
  235. DME:        no problems
  236. CygnusED    no problems
  237. HexEdit     hier verkrümeln sich die Menüs
  238. WorkShop    no problems
  239. PageStream  no problems
  240.  
  241. Ansonsten hilft einfach mal ausprobieren !
  242.  
  243. Beenden können Sie HotProg wie gehabt durch das Schließ-Gadget links oben,
  244. oder durch erneuten Aufruf von HotProg, was aber nicht sehr elegant ist, da 
  245. Sie dann evtl. die Kontrolle darüber verlieren könnten ob HotProg aktiv ist
  246. oder nicht.
  247.  
  248. BUGS
  249.  
  250. 1.Arbeitet nicht mit Newio zusammen siehe oben (liegt an Newio)
  251.  
  252. 2.Solange das Menü nicht deaktiviert ist können Sie ständig Programme aufrufen.
  253.   Wenn Sie nun den MausButton mit dem Feuerknopf ihres Joysticks verwechseln
  254.   sollten kann es zu Problemen Kommen (GURU).
  255.   Abhilfe   : a)CygnusED Screen schließen und den Gompf aufrufen
  256.               b)Ignorieren und den Requester verkleinern und in irgendeine
  257.                 Ecke verbannen.HotProg kann weiter benützt werden.
  258.               c)die nächste Version von HotProg abwarten.
  259.               
  260. 3.Jeder Aufruf eines Programms gibt nach beenden desselben den Speicher nicht
  261.   vollständig zurück. (40 Byte).
  262.   Abhilfe   : a)Ab 1MByte Speicher unproblematisch
  263.               b)wie 2c)
  264.  
  265. 4.Unknown; Hier bin ich auf ihre Rückmeldung angewiesen 
  266.  
  267.  
  268. FUTURESOUNDS
  269.  
  270. UnterMenüs
  271. ResetFest (Ich weiß nicht ob dies in Modula überhaupt realisiert werden kann)
  272. Auf Wunsch einzubauende Funktionen wie z.B: 
  273. killWindow
  274. killScreen
  275. Time
  276. Palette Tool
  277. ScreenShift
  278. WindowInfo
  279. ScreenInfo
  280. NewCLI usw..
  281. Da sich dies am Besten über externe Funktionen realisieren läßt, meine Bitte
  282. an alle Programmierer : versucht eure Utilities so zu Programmieren, daß Sie
  283. auf allen Screens und in allen Modis lauffähig sind. Damit wäre zum Beispiel
  284. eine Entlastung des WorkBenchScreen möglich, indem man einen 2.Screen eröffnet
  285. und hier zusätzliche Programme und Windows ablegen könnte. Wie schnell ist
  286. selbst ein Overscan Screen bei Festplattenbesitzern und SpeicherKönigen voll,
  287. das bedeutet dann Fenster auf, Fenster zu, Fenster verschieben dies kostet oft
  288. viel Zeit im Vergleich zur Umschaltung auf einen zweiten "WorkBenchScreen".
  289.  
  290. Das einzige Programm das ich kenne und das diese Philosophie unterstützt ist
  291. das Palette Tool. Mit Hilfe dieses und meines Programmes können Sie wunder-
  292. schön die Farben eines jeden Screens einstellen.
  293.  
  294. Danksagungen
  295. Dieses Programm wäre ohne Amoks nicht erstanden, deshalb zuerst meinen Dank
  296. an alle Amokianer und besonders an diejenigen deren Module ich importiert habe.
  297.  
  298. HilfeRuf 
  299. Wer macht endlich mal den König zum Untertan (REXX) ???
  300.  
  301. ********************************************************************************
  302.  
  303. RAWCODE  Tabelle (* Dezimal für HotKeys *)
  304.  
  305. ESC := 69;  `~  :=  0;  TAB := 66;  CTRL:= 99;  LSHIFT  := 96;  LALT    := 100;
  306. F1  := 80;  1!  :=  1;  qQ  := 16;  CAPS:= 98;      <>  := 48;  LAMIGA  := 102;
  307. F2  := 81;  2"  :=  2;  wW  := 17;  aA  := 32;      yY  := 49;
  308. F3  := 82;  3§  :=  3;  eE  := 18;  sS  := 33;      xX  := 50;
  309. F4  := 83;  4$  :=  4;  rR  := 19;  dD  := 34;      cC  := 51;
  310. F5  := 84;  5%  :=  5;  tT  := 20;  fF  := 35;      vV  := 52;
  311. F6  := 85;  6&  :=  6;  zZ  := 21;  gG  := 36;      bB  := 53;  SPACE   := 64;
  312. F7  := 86;  7/  :=  7;  uU  := 22;  hH  := 37;      nN  := 54;
  313. F8  := 87;  8(  :=  8;  iI  := 23;  jJ  := 38;      mM  := 55;
  314. F9  := 88;  9)  :=  9;  oO  := 24;  kK  := 39;      ,,  := 56;
  315. F10 := 89;  0=  := 10;  pP  := 25;  lL  := 40;      ..  := 57;
  316.             ß?  := 11;  üÜ  := 26;  öÖ  := 41;      -_  := 58;  RAMIGA  := 103;
  317.             '`  := 12;  +*  := 27;  äÄ  := 42;  RSHIFT  := 97;  RALT    := 101;
  318.             \|  := 13;              #^  := 43;  
  319.             BS  := 65;  
  320.                                 RETURN  := 68;
  321.             DEL := 70;                  
  322.             HELP:= 95;                       CursorUP   := 76;
  323.                                              CursorDOWN := 77;
  324.                                              CursorLEFT := 79;
  325.                                              CursorRIGHT:= 78;
  326.  
  327.             [{  := ??   7   := 61;  4   := 45;      1   := 29;      0   := 15;
  328.             ]}  := ??   8   := 62;  5   := 46;      2   := 30;      
  329.             /   := ??   9   := 63;  6   := 47;      3   := 31;      .   := 60;
  330.             *   := ??   -   := 74;  +   := ??;      
  331.                                                          ENTER  := 67;
  332.